Learn R Programming

R2BayesX (version 1.1-5)

Interface between sp and bnd format: Convert sp and bnd format into each other

Description

Convert geographical information objects of class "SpatialPolygons" (or specializations) from R-package sp to objects of class "bnd" from R-package R2BayesX and vice versa.

Usage

sp2bnd(spObject, regionNames, height2width, epsilon)
bnd2sp(bndObject)

Value

Equivalent object in the other format.

Arguments

spObject

object of class "SpatialPolygons" (or specializations).

regionNames

character vector of region names (parallel to the Polygons list in spObject), defaults to the IDs.

height2width

ratio of total height to width, defaults to the bounding box values.

epsilon

how much can two polygons differ (in maximum squared Euclidean distance) and still match each other?, defaults to machine precision.

bndObject

object of class "bnd".

Author

Daniel Sabanes Bove.

See Also

nb2gra, gra2nb for conversion between the neighborhood structure formats and read.bnd, write.bnd for the interface to the R2BayesX files.

Examples

Run this code
if (FALSE) ## bnd to sp:
file <- file.path(find.package("R2BayesX"), "examples", "Germany.bnd")
germany <- read.bnd(file)
spGermany <- bnd2sp(germany)

## plot the result together with the neighborhood graph
if(requireNamespace("spdep")) {
  library("spdep")
  plot(spGermany)
  nbGermany <- poly2nb(spGermany)
  plot(nbGermany, coords = coordinates(spGermany), add = TRUE)

  ## example with one region inside another
  spExample <- spGermany[c("7231", "7235"), ]
  plot(spExample)
  plot(poly2nb(spExample), coords = coordinates(spExample), add = TRUE)

  ## now back from sp to bnd:
  bndGermany <- sp2bnd(spGermany)
  plotmap(bndGermany)

  ## compare names and number of polygons
  stopifnot(
    identical(names(bndGermany), names(germany)),
    identical(length(bndGermany), length(germany))
  )
}

Run the code above in your browser using DataLab